#include <cstdio>
int n,w,m, i, j, k, a[50];
double t, p;

void process(){
	if(m>2*((n/m)*m) || ((n/m)*m)%(m-((n/m)*m))){
		printf("NO");
		return;
	}
	printf("YES\n");
	for(i=0;i<n;i++)a[i]=2;
	
	i=0;
	for(j=0;j<m;j++){
		p=((double) n )/m;
		t=p*w;
		while(t>0.00000001){
			if(p>=1){
				printf("%d %.6lf ", i+1, (double)w);
				a[i]=0;
				t-=w;
				--p;
			}
			else{
				if(a[i]==2) {
					printf("%d %.6lf ", i+1, p*w);
					t-=p*w;
					a[i]=1;
				}
				else {
					printf("%d %.6lf ", i+1, w - p*w );
					t -= w-p*w;
					a[i]=0;
				}
			}
			i=(i+1)%n;
			
			for(k=0;k<n&&a[i]==0;k++){
				i=(i+1)%n;
			}
		}
		printf("\n");
	}
	
	
}
int main(){
	//freopen("in.txt","r",stdin);freopen("out.txt","w",stdout);
	scanf("%d%d%d",&n, &w, &m);
	process();
	return 0;
}
